#include "head.h"


// 初始化参数, 并且启动子线程
int initStatus(status_t  *status, int num){

    // 
    status->exitFlag = 0;

    // 子线程个数
    status->num = num;

    // 锁
    pthread_mutex_init(&status->lock, NULL);
    pthread_mutex_init(&status->lockD, NULL);

    // 条件变量
    pthread_cond_init(&status->cond, NULL);

    // 队列
    memset(&status->queue, 0, sizeof(status->queue));

    status->thread_ids = (pthread_t *) calloc(num, sizeof(pthread_t));
    // 启动子线程
    for(int i=0; i<num; i++){
        pthread_create(&status->thread_ids[i], NULL, threadMain, (void *)status);
    }

    return 0;
}


